from typing import TypedDict, Annotated

from langgraph.graph import add_messages

from owl_ai.domain.agent_config_entity import AgentConfigEntity
from owl_ai.graph.graph import BaseGraph

class ChatLLMState(TypedDict):
    messages: Annotated[list, add_messages]

class ChatLLMGraph(BaseGraph):
    """
    提供基础的LLM对话功能。
    """

    @classmethod
    def compile(cls, graph_config: AgentConfigEntity):
